package com.wkk.yuli.core;

import com.wkk.yuli.config.ContainerConfig;
import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.ConcurrentHashMap;

/**
 * @author : WangKeKe
 * @date : 2020/9/24 11:40
 * Description : JVM缓存
 * - 使用ConcurrentHashMap是为了保证线程的安全，防止出现并发数据异常问题
 * - 如果使用HashMap 还能使用Synchronized来保证线程的安全性
 */
@Slf4j
public class Container{

    private static ConcurrentHashMap<Object, Object> yuLi = new ConcurrentHashMap<>(ContainerConfig.UPPER_LIMIT_SIZE);

    public static ConcurrentHashMap<Object, Object> getYuLi() {
        return yuLi;
    }

    public static void setYuLi(ConcurrentHashMap<Object, Object> yuLi) {
        Container.yuLi = yuLi;
    }



    // 编写阻塞机制
    // 先阻塞这个线程，然后处理其他逻辑，
    // 并条件发生变化时，尝试唤醒，如果满足条件就继续执行，不满足就会继续阻塞。

}
